Data processing systems commonly include peripheral devices that run concurrently with the operation of the data processing system. When several processes that are executing in the data processing system require access to the peripheral device, it is necessary to regulate access to the peripheral device. This is especially true in a data processing system that allows for processes to concurrently execute. One application of a data processing system requiring management of the peripheral device is a data processing system provided with a graphics adapter. Commonly, processes that are executing in the data processing system provide data to the graphics adapter to display images and/or text to the user. These processes that are running concurrently on the data processing system must have their access to the display device regulated.
Prior art in this area of technology includes "Virtual Graphics" by Voorhies, Kirk and Lathrop, published in Computer Graphics, Vol. 22, No. 4, August, 1988. This paper addresses multiple process workstations that include a single task oriented graphics display adapter. This paper addresses the problem of switching display adapter contexts rapidly. This is accomplished by the use of a coprocessor exception based detection of graphic ownership violations (a graphics process attempting to access a device when it does not have access to the device, the efficient swapping of drawing context in hardware, exception based command flow control, the clipping of drawings to window boundaries and the switching of pixel formats and lookup tables for pixels. This reference teaches that additional hardware is a partial solution to the problem of quickly changing display contexts.
The article "Hardware Acceleration for Windows System" by Rhoden and Wilcox, published in Computer Graphics, Vol. 23, No. 3, July, 1989, illustrates a hardware implementation to provide multiple windowing capabilities.
IBM Technical Disclosure Bulletin, Vol. 30, No. 1, June, 1987, entitled "Virtual Machine Interface/Virtual Resource Manager", discloses a context switching mechanism for a virtual machine. In this reference, the complete context for the central processing unit is changed.
IBM Technical Disclosure Bulletin, Vol. 28, No. 8, January, 1986, entitled "Screen-Sharing Ring for Enhanced Multiple Application Display", discloses a technique for laying out display windows that are displayed in dedicated rectangular subareas.
IBM Technical Disclosure Bulletin, Vol. 25, No. 8, January, 1983, entitled "Asynchronous Data Transfer Buffer for NP Systems", discloses a multiprocessing communications system where the processors communicate to each other in order to avoid contention when accessing a commonly shared memory.
IBM Technical Disclosure Bulletin, Vol. 28, No. 12, May, 1986, entitled "Hardware Display Windowing System", discloses a hardware windowing system for use with a display that is shared by multiple processors.
IBM Technical Disclosure Bulletin, Vol. 27, No. 5, October, 1984, entitled "Multiprocessor System to Improve Context Switching", discloses a processing system that reduces context switching by specifying that only one processor is active at a time.
IBM Technical Disclosure Bulletin, Vol. 24, No. 1, November, 1981, entitled "Multi-Tasking Using Co-Equal Multiprocessors Having Memory-Lock Facilities", discloses a locking scheme for a multiprocessing system using a commonly shared memory.